Electronic dictionary system having improved memory efficiency for storage of common suffix words

ABSTRACT

A system for checking a spelling of an English word which stores a plurality of English words in several groups. Every word in each group can have a common suffix and is stored without the suffix. The system searches whether or not an input word exists in the dictionary memory and judges next whether or not an input word has one of the suffixes by which the words in the dictionary memory are classified. If the input word has one of the suffixes, the system searches a de-suffixed form of the input word within the group corresponding to the suffix. The search result and input words are displayed on a cathode ray tube.

BACKGROUND OF THE INVENTION Technological Field

The invention disclosed herein relates to an electronic dictionary and more particularly relates to the structure which efficiently stores many words in a dictionary memory.

Prior Art

Conventional electronic dictionaries have been provided with a dictionary memory with many English words for spell-checking and usually a byte of capacity is used to represent one character. When a English word is keyed on a keyboard, a central processing unit (CPU) judges whether or not an input word is already stored in the dictionary memory and informs the operator when the word does not exist by flashing the input word on the cathode ray tube (CRT).

The conventional electronic dictionaries have stored the spelling of an English word which includes an inflection as it is. This has been a primary factor of increasing costs, since a large capacity dictionary memory is required, where a number of bytes equal to the total of number of letters in each word are needed.

SUMMARY OF THE INVENTION

It is an object of this invention to provide an electronic dictionary which stores more data of English words in its specific section of a memory by reducing its memory space to aid in the solution of the aforementioned problem.

In accordance with the system in the foregoing, an apparatus for checking a spelling of an English word is provided which comprises:

an input means for inputting an English word;

an electronic dictionary memory for storing a plurality of English words including groups of classified words, wherein every word in each group can have a common suffix and is stored without the suffix;

a search means for searching whether or not an input word exists in the dictionary memory;

a suffix judgment means for judging whether or not an input word has one of the suffixes by which the words of the dictionary memory are classified and, if the input word has one of the suffixes, for searching a de-suffixed form of the input word within the group corresponding to the suffix making use of the search means; and

an output means for displaying input words and for displaying the search result.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a word processor embodying the present invention.

FIG. 2 is a block diagram showing the electronic construction of an embodiment according to the present invention.

FIG. 3 is a diagram illustrative of the inside of a dictionary memory.

FIGS. 4A, 4B, 5, 6 are flow charts showing processing steps which are performed by this word processor.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Some embodiments according to the present invention will be described with reference to the drawings of a word processor with an electronic dictionary.

The word processor is provided with many character keys 3 and a space key 4 on a keyboard 2 as input means. And the corresponding character data such as letters and figures are selectively keyed by character keys 3.

A correction key 5 and a cursor key 6 are provided at the right of the character keys 3, and used to correct miskeyed English words. A select key 7 is provided under the correct key 5 to exchange a wrongly keyed word with a correct word by the correct key 5 and the character keys 3.

At the back of the keyboard 2, a CRT 8 is provided as a display means for displaying characters and figures keyed by the character keys 3. A printer 9 is provided by the side of the CRT 8 and English sentences can be printed on printing sheets.

Referring now to FIG. 2, the electronic construction of the aforementioned word processor 1 is illustrated.

Characters are displayed on the CRT 8 by the central processing unit (CPU) 10 which orders a display means and a judging means, and receives output word data signals by the operation of each key and displays words from those signals.

A program memory 13 which is connected to the CPU 10 is made of a read only memory (ROM) and stores program data to execute word processing.

A dictionary memory 11 which is connected to the CPU 10 is made of a ROM and stores English word data in such a way that words with a common form of inflection are stored in a specific region of the memory with a selecting information for the suffixes.

Referring now to that construction with reference to FIG. 3, in the dictionary memory 11, a first block stores nouns or verbs which take inflections with a suffix "s", in their de-suffixed forms, a second block stores verbs which take all inflections with suffixes "s", "ing", and "ed" in their de-suffixed forms, a third block stores de-suffixed adjectives which include the suffix "ly", and all fourth block stores the other words.

A work memory 12 is made of a random access memory (RAM) which is also connected to the CPU 10 and stores character data input by character keys 3 and the space key 4 via CPU 10. The CPU 10 announces to the operator the result of spell-checking by blinking on the CRT 8 after judging if the input English word keyed by the character keys 3 and the space key 4 exists in the dictionary memory or not and finding that it does not.

The operation of the word processor 1 constructed in aforementioned manner will be described with reference to FIGS. 4-6. The method comprises the steps of:

(1) keying English characters or numerics by the character keys 3 (step 1);

(2) displaying said characters on the CRT 8 one by one (step 2);

(3) keying of the space key 4 for leaving space for the following words, after keying the desired word by the character keys 3 (step 3);

(4) storing the spelling of the input characters in the work memory 12 as one word (Step 4); and

(5) searching if the input word exists in the dictionary memory 11 or not by comparing the word with every word stored in the dictionary memory 11. The CPU 10 displays the input word as it is on the CRT 8 when the word is not misspelled and exists in the dictionary memory 11 and waits for the next keying.

Referring now to the detailed description of the operation, the CPU 10 stores word data in the work memory 12 when an English word, for example "girls", is keyed by the character keys 3 and the space key 4 (step 4), and judges if the suffix is "s" or not (step 5). When it judges that the suffix is "s", the CPU 10 reads out word data stored in the first block of the dictionary memory 11 shown in FIG. 3 (step 6), and judges if the corresponding word exists in the first block or not (step 7). Since "girls" is a plural noun and in the first block is stored the word "girl" in the singular, the CPU 10 judges that "girls" does not exist in the first block and judges next if the de-suffixed word "girl" exists in the first block or not (step 8). When "girl" is found to exist in the first block (step 9), the CPU 10 displays the word "girls" as it is on CRT 8 and waits for the next operation (step 1).

For example, a verb like "play" which can take any one of suffixes "s", "ing", and "ed" is stored in the second block of the dictionary memory 11 as mentioned above. And as for "play", when "plays" is keyed after judging that a corresponding word does not exists in the first block (steps 6, 7 and 8), the CPU 10 reads out word data stored in the second block in sequence (step 10) to judge if a corresponding word to input word "plays" exists or not (step 11). Since a spelling of "play" is stored in the second block, the CPU 10 judges that the input word "plays" does not exists in the second block and searches the de-suffixed word "play" in the second block (step 12). When it judges that the word "play" exists in the second block, the CPU 10 displays the input word "plays" as it is on CRT 8 (step 9), and waits for the next operation (step 1).

On the other hand, when a word data corresponding to a word or to a de-suffixed (without "s") word does not exist in the first block or second block, even though the word has the suffix (steps 6, 7, 8, 9, 10, 11 and 12), the CPU 10 reads out word data in the third block and fourth block in sequence (step 13), and judges if the corresponding word exists or not (step 14). The CPU 10 displays the word as it is on the CRT 8 when it does exist (step 9), and waits for the next operation (step 1), or displays the input word by blinking on the CRT 8 when it does not exist (step 15) to show the operator that the word does not exist in the dictionary memory 11 and waits for the next operation (step 1).

As for the aforementioned word "play", the CPU 10 displays the word on the CRT 8 and stores it in the work memory (steps 1-4) after receiving the word "playing" by character keys 3 and the space key 4, and judges if it has a suffix "ing" or not (step 16) as shown in FIG. 5, when it judges that it has no suffix "s" (step 5). The CPU 10 then reads out a word data in the second block of the dictionary memory 11 (step 17), when it finds that the word has a suffix "ing", and judges if a word corresponding to the input "playing" (step 18) or to de-suffixed "play" (step 19) exists or not. Thus, the CPU 10 judges that the word "play" appears in the second block and displays the input word "playing" on the CRT 8 (step 9), and waits for the next key operation (step 1).

If a word corresponding to a word or a word without "ing" does not exist in the second block, even though the word has a suffix "ing" (step 18, 19), word data in the first, third and the fourth blocks will be read out in sequence (step 20) and judged if a word data corresponding to a input word exists or not (step 21). The CPU 10 displays the word as it is on the CRT 8 (step 9) when it exists, and displays the word by blinking on the CRT 8 when it does not (step 15), and waits for the next operation (step 1).

As for the word "play", when "played" is keyed by character keys 3 and space key 4, the CPU 10 displays the word on the CRT and stores it in the work memory (steps 1-4), and if the word is found not to have suffixes "s" or "ing" (steps 5, 16), it will be judged next if it has suffix "ed" or not (step 22). When the word is found to have a suffix "ed", word data stored in the second block of the dictionary memory 11 are read out in sequence (step 23) and judged if a word data corresponding to the input word "played" or to the de-suffixed word "play" exists or not (steps 24, 25). When a corresponding word appears in the memory, the CPU displays the input word "played" on the CRT 8 as it is (step 9), and waits for the next operation (step 1).

If the word is found not to exist in the second block even though it has suffix "ed", (step 24, 25), the CPU 10 reads out next word data in the third and the fourth blocks and judges if a corresponding word data exists or not (step 21), and displays the word on the CRT 8 as it is if it does (step 9), and displays it on CRT 8 by blinking if it does not (step 15) and waits for the next operation (step 1).

For example, when such a word as "slowly" which is an adverb made by adding "ly" to an adjective "slow" is keyed on the character keys 3 and space key 4, the CRT 8 displays the word on the CRT 8 and stores it in the work memory (steps 1-4). When it judges that it has no suffixes "s", "ing", nor "ed", (steps 5, 16, 22) it judges next if it has "ly" as a suffix or not as shown in FIG. 6 (step 26). When "ly" is found to be added as a suffix, data of words are read one by one in the third block of the dictionary memory 11 (step 27) to find if a word data corresponding to the input word "slowly" or to its de-suffixed root "slow" exists or not (steps 28, 29). The CPU 10 displays the input word "slowly" as it is on the CRT 8 if it does (step 9), and waits for the next keying (step 1).

If an input word is found not to exist in the third block even though it has a suffix "ly" (steps 28, 29), the CPU 10 reads word data in the first, second and fourth blocks (step 30), and judges if a word data corresponding to the input word exists or not (step 31). The CPU displays the word as it is on the CRT 8 if it does (step 9), and displays the word by blinking if it does not (step 15), and waits for the next keying (step 1).

When a word which does not have any one of suffixes "s", "ing", "ed" and "ly" is keyed by the character keys 3 and space key 4, the CPU 10 displays the word on the CRT 8 and stores it in the work memory (steps 1 to 4). The CPU then judges that it has no suffixes "s", "ing", "ed", nor "ly" (steps 5, 16, 22, 26), and reads word data in the first to fourth blocks (step 32), and judges if a word data corresponding to the input word exists or not (step 14). The CPU displays it as it is on the CRT 8 (step 9) when it does, and displays the word by blinking on the CRT 8 when it does not (step 15) and waits for the next operation (step 1).

When words whose suffixes are "s", "ing", "ed" or "ly" are keyed in steps 7, 24, 28, word datum is searched for to see if an input word with suffixes appears or not. This is because words whose original forms contain those suffixes can exist. Thus, the reliability of searching is assured by reading from word data in other blocks and searching for the corresponding word (steps 13, 20, 30).

As for the word which is displayed by blinking on the CRT 8 to show that it does not appear in the dictionary memory 11, the word is selected by cursor key 6 and corrected by the correct key 5 and character keys 3 and stored in the work memory (as a right word instead of the wrong one) by pushing the select key 7 when the word is misspelled. When no misspelling is found in the blinking word, the word is selected by the cursor key 6 and stored in the work memory 12 as it is by pushing the select key 7.

What has been described herein is a word processor wherein (1) nouns and verbs of English words whose suffixes are "s" and which take inflections with suffix "s" are stored in the first block of the dictionary memory 11 in their de-suffixed forms, (2) those words which can take any inflections with suffixes "s", "ing" and "ed" are stored in the second block as their original forms, (3) words which have derivatives added by "ly" as their suffixes are stored in all third block, and (4) the other words are stored in the fourth block. When words with those suffixes are keyed, the CPU 10 reads and compares a word data in the corresponding block to the suffix, and when no corresponding word is found, it reads and compares next the word data in the other blocks, and when the input word does not appear in the dictionary memory, displays the word on the CRT 8 by blinking.

Consequently, since words with common suffixes "s", "ing", "ed" or "ly" are stored in their de-suffixed original forms in the specific regions in the dictionary memory 11, memory space can be largely reduced and economized than when they are stored with those suffixes and more word data can be stored in small-capacity dictionary memory 11. Since input words are compared with word data of the dictionary memory 11 by the CPU 10 and displayed by blinking when no corresponding word is found in the dictionary memory 11, confirmation and correction of the spelling of a word is easily done.

What has been described in detail as an effect of the embodiment is an electronic dictionary which is effective in storing many words in a limited memory by economizing in memory space. 

What is claimed is:
 1. A system for checking a spelling of an input English word comprising:an input means for inputting an English word; an electronic dictionary memory for storing English words in four groups, wherein every word in each group can have a common suffix and is stored without the suffix, and the four groups include a first group of words that can have a suffix "s"; a second group of words that can have a suffix "s", "ing", or "ed"; a third group of words that can have a suffix "ly"; and a fourth group of other words; a search means for searching whether or not an input word exists in the dictionary memory; a suffix judgement means for judging whether or not an input word has one of the suffixes by which words in the dictionary memory are classified and, if the input word has one of the suffixes, for eliminating the suffix of the input word and for cooperating with the search means to search for word data in the dictionary memory coincident with a de-suffixed form of the input word within the group corresponding to the suffix, wherein if the input word does not have one of the suffixes by which the words in the dictionary are classified, or if word data coincident with the de-suffixed form of the input word does not exist within the group corresponding to the suffix, the search means searches for word data in the dictionary memory coincident with the input word; and an output means for displaying the input word and, if word data coincident with the input word or de-suffixed form of the input word does not exist in the dictionary memory, for displaying the input word distinctively. 